﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ServiceDeskUNAB.Vista
{
    public partial class Principal : Form
    {
        private static Principal instance;

        public void refrescarBarra()
        {
            menuPrincipal.Enabled = true;
        }

        public void limpiar()
        {
            foreach (Control c in this.Controls)
            {
                if (c.Name != "menuPrincipal")
                    //Instance.Controls.RemoveAt(Instance.Controls.Count - 1);

                    Instance.Controls.Remove(c);
            }

        }

        private Principal()
        {

            InitializeComponent();

            LoginVista loginUserControl = new LoginVista();
            loginUserControl.Location = new System.Drawing.Point(0, 20);
            loginUserControl.Name = "loginUserControl";
            loginUserControl.Size = new System.Drawing.Size(780, 574);
            loginUserControl.TabIndex = 1;
            this.Controls.Add(loginUserControl);
            menuPrincipal.Enabled = false;
        }

        public static Principal Instance
        {
            get
            {
                if (instance == null)
                {
                    instance = new Principal();
                }
                return instance;
            }
        }

        private void Principal_Load(object sender, EventArgs e)
        {

        }

        private void nuevoUsuarioToolStripMenuItem_Click(object sender, EventArgs e)
        {
           

            try
            {
                var control = this.Controls.Find("nuevoUsuario", true).FirstOrDefault() as AgregarUsuarioVista;

                if (control == null)
                {
                    //this.Controls.RemoveAt(this.Controls.Count - 1);
                    limpiar();
                    AgregarUsuarioVista nuevoUsuario = new AgregarUsuarioVista();
                    nuevoUsuario.Location = new System.Drawing.Point(0, 20);
                    nuevoUsuario.Name = "nuevoUsuario";
                    nuevoUsuario.Size = new System.Drawing.Size(780, 574);
                    nuevoUsuario.TabIndex = 1;
                    this.Controls.Add(nuevoUsuario);
                    //menuPrincipal.Enabled = false;
                }

            }
            catch (Exception)
            {

                throw;
            }
        }

        private void listadoUsuariosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var control = this.Controls.Find("listadoUsuarios", true).FirstOrDefault() as ListadoUsuariosVista;

                if (control == null)
                {
                    //this.Controls.RemoveAt(this.Controls.Count - 1);
                    limpiar();
                    ListadoUsuariosVista listadoUsuarios = new ListadoUsuariosVista();
                    listadoUsuarios.Location = new System.Drawing.Point(0, 20);
                    listadoUsuarios.Name = "listadoUsuarios";
                    listadoUsuarios.Size = new System.Drawing.Size(780, 574);
                    listadoUsuarios.TabIndex = 1;
                    this.Controls.Add(listadoUsuarios);
                    //menuPrincipal.Enabled = false;
                }

            }
            catch (Exception)
            {

                throw;
            }
        }

        private void nuevaIncidenciaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var control = this.Controls.Find("nuevaIncidencia", true).FirstOrDefault() as NuevaIncidenciaVista;

                if (control == null)
                {
                    //this.Controls.RemoveAt(this.Controls.Count - 1);
                    limpiar();
                    NuevaIncidenciaVista nuevaIncidencia = new NuevaIncidenciaVista();
                    nuevaIncidencia.Location = new System.Drawing.Point(0, 20);
                    nuevaIncidencia.Name = "nuevaIncidencia";
                    nuevaIncidencia.Size = new System.Drawing.Size(780, 574);
                    nuevaIncidencia.TabIndex = 1;
                    this.Controls.Add(nuevaIncidencia);
                    //menuPrincipal.Enabled = false;
                }

            }
            catch (Exception er)
            {
                Console.Write(er.Message);
                throw;
            }
        }

        private void misResponsabilidadesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var control = this.Controls.Find("listadoResponsabilidades", true).FirstOrDefault() as ListadoResponsabilidadesVista;

                if (control == null)
                {
                    //this.Controls.RemoveAt(this.Controls.Count - 1);
                    limpiar();
                    ListadoResponsabilidadesVista listadoResponsabilidades = new ListadoResponsabilidadesVista();
                    listadoResponsabilidades.Location = new System.Drawing.Point(0, 20);
                    listadoResponsabilidades.Name = "listadoResponsabilidades";
                    listadoResponsabilidades.Size = new System.Drawing.Size(780, 574);
                    listadoResponsabilidades.TabIndex = 1;
                    this.Controls.Add(listadoResponsabilidades);
                    //menuPrincipal.Enabled = false;
                }

            }
            catch (Exception)
            {

                throw;
            }
        }

        private void misIncidenciasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var uncontrol = this.Controls.Find("listadoIncidenciasCreadas", true).FirstOrDefault() as ListadoIncidenciasCreadasVista;

                if (uncontrol == null)
                {
                    //this.Controls.RemoveAt(this.Controls.Count - 1);
                    limpiar();
                    ListadoIncidenciasCreadasVista control = new ListadoIncidenciasCreadasVista();
                    control.Location = new System.Drawing.Point(0, 20);
                    control.Name = "listadoIncidenciasCreadas";
                    control.Size = new System.Drawing.Size(780, 574);
                    control.TabIndex = 1;
                    this.Controls.Add(control);
                    //menuPrincipal.Enabled = false;
                }

            }
            catch (Exception)
            {

                throw;
            }
        }

        private void categoriaIncidenciaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var uncontrol = this.Controls.Find("nuevaCategoriaIncidencias", true).FirstOrDefault() as NuevaCategoriaIncidenciasVista;

                if (uncontrol == null)
                {
                    //this.Controls.RemoveAt(this.Controls.Count - 1);
                    limpiar();
                    NuevaCategoriaIncidenciasVista control = new NuevaCategoriaIncidenciasVista();
                    control.Location = new System.Drawing.Point(0, 20);
                    control.Name = "nuevaCategoriaIncidencias";
                    control.Size = new System.Drawing.Size(780, 574);
                    control.TabIndex = 1;
                    this.Controls.Add(control);
                    //menuPrincipal.Enabled = false;
                }

            }
            catch (Exception)
            {

                throw;
            }
        }

        private void rolUsuarioToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var uncontrol = this.Controls.Find("nuevoRolUsuario", true).FirstOrDefault() as NuevoRolUsuarioVista;

                if (uncontrol == null)
                {
                    //this.Controls.RemoveAt(this.Controls.Count - 1);
                    limpiar();
                    NuevoRolUsuarioVista control = new NuevoRolUsuarioVista();
                    control.Location = new System.Drawing.Point(0, 20);
                    control.Name = "nuevoRolUsuario";
                    control.Size = new System.Drawing.Size(780, 574);
                    control.TabIndex = 1;
                    this.Controls.Add(control);
                    //menuPrincipal.Enabled = false;
                }

            }
            catch (Exception)
            {

                throw;
            }
        }

        private void proyectoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var uncontrol = this.Controls.Find("nuevoProyecto", true).FirstOrDefault() as NuevoProyectoVista;

                if (uncontrol == null)
                {
                    //this.Controls.RemoveAt(this.Controls.Count - 1);
                    limpiar();
                    NuevoProyectoVista control = new NuevoProyectoVista();
                    control.Location = new System.Drawing.Point(0, 20);
                    control.Name = "nuevoProyecto";
                    control.Size = new System.Drawing.Size(780, 574);
                    control.TabIndex = 1;
                    this.Controls.Add(control);
                    //menuPrincipal.Enabled = false;
                }

            }
            catch (Exception)
            {

                throw;
            }
        }

        private void editarIncidenciaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var uncontrol = this.Controls.Find("editarIncidencias", true).FirstOrDefault() as EditarIncidenciaVista;

                if (uncontrol == null)
                {
                    //this.Controls.RemoveAt(this.Controls.Count - 1);
                    limpiar();
                    EditarIncidenciaVista control = new EditarIncidenciaVista();
                    control.Location = new System.Drawing.Point(0, 20);
                    control.Name = "editarIncidencias";
                    control.Size = new System.Drawing.Size(780, 574);
                    control.TabIndex = 1;
                    this.Controls.Add(control);
                    //menuPrincipal.Enabled = false;
                }

            }
            catch (Exception)
            {

                throw;
            }
        }

        private void sistemaOperativosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var uncontrol = this.Controls.Find("so", true).FirstOrDefault() as NuevoSOVista;

                if (uncontrol == null)
                {
                    //this.Controls.RemoveAt(this.Controls.Count - 1);
                    limpiar();
                    NuevoSOVista control = new NuevoSOVista();
                    control.Location = new System.Drawing.Point(0, 20);
                    control.Name = "so";
                    control.Size = new System.Drawing.Size(780, 574);
                    control.TabIndex = 1;
                    this.Controls.Add(control);
                    //menuPrincipal.Enabled = false;
                }

            }
            catch (Exception)
            {

                throw;
            }
        }
    }
}
